#include "Avalon/Services/ClientChannelMixin.hpp"

using namespace Avalon;
using namespace Avalon::IO;
using namespace Avalon::ServiceLocator;
using namespace Avalon::Services;
using namespace Avalon::Threading;
using namespace boost;
using namespace std;

ClientChannelMixin::ClientChannelMixin() {}

ClientChannelMixin::~ClientChannelMixin() {}

bool ClientChannelMixin::IsLoggedIn() const {
  return m_account.m_id != -1;
}

const DirectoryEntry::Tag& ClientChannelMixin::GetAccount() const {
  return m_account;
}

void ClientChannelMixin::SetAccount(const DirectoryEntry::Tag& account) {
  m_account = account;
}

ConnectionState& ClientChannelMixin::GetConnectionState() {
  return m_connectionState;
}

AsyncTaskQueue& ClientChannelMixin::GetTaskQueue() {
  return m_taskQueue;
}
